1. Field of the Invention
The present invention relates to methods and systems for testing websites and web applications. More particularly, embodiments of the present invention relate to methods and systems for automatically testing websites and website applications using knowledge bases of standard inputs and standard errors.
2. Description of the Prior Art and Related Information
As websites and web applications become more complex, the tools used to test such website and web applications must also become increasingly sophisticated. Indeed, the complexity of the quality assurance (hereafter “QA”) tools tasked with testing the functionality and responsiveness of these websites and web applications must keep pace with the size, complexity and increased functionality of today's websites and web applications.
Conventional QA tools for websites and web applications are typically based on a record and playback model, whereby a tester manually logs onto a selected website or web application and runs through a typically transaction or session. The tester's inputs and the path the tester takes through the site are recorded in the form of a script, which may later be played back. The recorded script may be selectively altered, to enable the QA tool to run through a wide variety of user-website interactions. This manual approach is both time consuming and inherently incomplete, as the QA tool relies upon a human created script to guide its progress through the site. Indeed, the tester must key a great many permutations of the inputted data to attempt to fully test the site or application. It is, therefore, likely that conventional QA tools could miss latent errors in the website or web application that could degrade the functionality of the site or application when with certain inputs are entered.
Moreover, current websites and applications are not static constructs, but are frequently upgraded and changed. When the website or application is changed or upgraded, conventional QA tools require that a new script be recorded and the entire process started over again. This record-playback model, therefore, renders conventional tools rather inflexible to even relatively minor changes in the websites and applications for which they are designed.
From the foregoing, therefore, it is clear that improved QA tools are required that do not rely upon such a manual and inflexible record-playback model. Also needed are novel QA tools that enable a more thorough testing of websites and applications, irregardless of the level of complexity of the site or application.